package com.douma._2022_6_26;

import java.util.Scanner;

/**
 * 抖码算法，让算法学习变的简单有趣
 *
 * @作者 : 老汤
 */
public class 素数之积 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int num = sc.nextInt();
        int a = -1, b = -1;
        // 因为 Math.sqrt(num) * Math.sqrt(num) = num
        // 所以 i 的最大值为 Math.sqrt(num)
        for (int i = 2; i <= Math.sqrt(num); i++) {
            // 满足下面的三个条件，则找到了两个素数之积：
            //  1. i 是素数
            //  2. num 可以被 i 整除
            //  3. num / i 的结果也是一个素数
            if (isPrime(i) && num % i == 0 && isPrime(num / i)) {
                a = i;
                b = num / i;
                break;
            }
        }

        System.out.println(String.format("%d %d", a, b));

        sc.close();
    }

    // 判断 x 是否是素数
    private static boolean isPrime(int x) {
        if (x <= 1) return false;
        // 因为 Math.sqrt(x) * Math.sqrt(x) = x
        // 所以 i 的最大值为 Math.sqrt(x)
        for (int i = 2; i <= Math.sqrt(x); i++) {
            if (x % i == 0) return false;
        }
        return true;
    }
}
